Today, integrated circuits are extremely complex in design and layout. Even the most knowledgeable circuit designers, working with state-of-the-art software design tools, find it difficult to predict how their circuit designs will actually perform. The high costs associated with semiconductor photolithography and fabrication techniques make it imperative that the circuit design is working as close to optimal parameters as feasible, before the circuit design is committed to manufacturing. Hence, circuit designs are subjected to rigorous testing before being finalized.
One method to test circuit designs is to use a circuit simulator. Basically, a circuit simulator is a powerful computer program that is used to check the integrity of circuit designs and to simulate their behavior. The circuit to be tested is input as a netlist. This netlist defines the individual circuit elements (e.g., transistors, resistors, capacitors, etc.) and how they are connected together. The circuit simulator then generates a mathematical model based on the netlist, that is used to define and predict the behavior of the circuit.
One of the most common circuit simulator programs is known as SPICE (Simulation Program with Integrated Circuit Emphasis). SPICE and other similar types of circuit simulators offer various types of simulations (also referred to as “analyses”). One analysis, called transient analysis, computes time-domain responses of a circuit to arbitrary voltage or current excitations. Transient analysis is versatile and capable of simulating a wide range of characteristics of a circuit, including both linear and nonlinear characteristics. However, transient analysis is inefficient in characterizing the circuit response to a wide class of input excitations (e.g. response to a step, ramp, sinusoid at various frequencies, or combinations thereof), mainly because it computes a response to one particular set of excitations. In order to obtain all the responses with respect to all the possible excitations of interest, a transient analysis must be performed for each possible set of excitations. Furthermore, the time-domain, nonlinear simulation algorithms used by transient analysis tend to be slower than other analyses in SPICE (e.g. DC or AC analyses).
Another analysis, called AC analysis, computes a steady-state response of a circuit for small-signal sinusoidal excitation at a certain frequency. With small-signal sinusoidal excitation, the amplitude of the applied sinusoid is infinitesimally small. For small-signal sinusoidal excitations, all circuits exhibit linear responses determined by their operation point (e.g. DC bias condition). In other words, the response of the circuit is also sinusoidal at the frequency equal to the frequency of the applied input sinusoid. Therefore, the output steady-state sinusoidal response is represented by two real numbers (magnitude and phase), or equivalently by a complex number (A*cos(Φ)+jA*sin(Φ), where A is the magnitude, Φ is the phase, and j is √(−1)).
In most AC analyses, the steady-state response is computed over a set of frequencies. This results in a set of corresponding steady-state responses as an output (i.e., the set of complex numbers corresponding to each input frequency). With enough frequency points covering the range of interest, this set of complex numbers can estimate a characteristic called a “transfer function,” which represents the linear response of the circuit determined by the circuit's operating point at various excitation frequencies. In essence, a transfer function is a frequency-domain representation of the linearized response (the response of the circuit to infinitesimally small excitation), which is also defined as the Fourier transform of the impulse response in linear system theory.
Since a transfer function is a complete description of the linearized response of a circuit biased at a given operating point, a circuit designer can deduce the response of the circuit to a small-signal arbitrary excitation waveform using the transfer function without using explicit transient analysis. For example, if an amplifier has a transfer function of a low-pass filter, that is the transfer function has almost constant high values at low frequencies (called “gain”), but has decreasing values as the frequency increases beyond a certain point (called “bandwidth), then a designer can deduce without running a transient simulation that when a step input is applied to the circuit, the circuit response will initially be a slowly-changing value determined by the bandwidth but will eventually settle at a constant value determined by the gain. Since AC analysis is much more efficient to compute compared to transient analysis, AC analysis is preferred to transient analysis as long as the linear response of the circuit is of concern.
Almost all SPICE-like circuit simulations adopt algorithms (e.g. nodal analysis, modified nodal analysis, etc.) that formulate the circuit network topologies into mathematical equations with node voltages or branch currents as variables. Therefore, the small-signal excitation in AC analysis always meant the small-signal excitation in a voltage or current. Likewise, the linear response of the circuit always meant the response in an output voltage or current. Unfortunately, such an assumption limits the application of AC analysis only to circuits that have meaningful linear responses with voltages or currents as their input and output variables. Those examples include amplifiers, passive or active filters, equalizers, etc. And only these circuits exploited the efficiency of AC analysis.
Another limitation of AC analysis is that it can only compute the linear response at a fixed (DC) operating point. Circuits, such as mixers, used in RF transceivers do not have a DC operating point. Instead, these circuits use a periodically varying operating point that is controlled by the input large-swing clock.
Recent advances in circuit simulators extend the applicability of AC analysis to periodic circuits including the mixer mentioned above. The new analysis, called PAC analysis (Periodic AC) essentially computes a steady-state response of a periodically time-varying circuit (e.g., a circuit driven by a periodic clock such as mixers, switched-capacitor circuits, etc.) to a small-signal sinusoidal excitation (the periodicity of the circuit may not coincide with the frequency of the sinusoidal excitation). The PAC analysis results in a periodically time-varying linear response of a circuit. The periodic steady state of the periodic circuit with no sinusoidal excitation (referred to as PSS later on) can be expressed in a form of Fourier series (i.e., a sum of harmonics or sinusoidal components of integer multiples of the fundamental frequency which is equal to 1/period). The periodically time-varying transfer function can be alternatively represented by a set of multiple transfer functions each of which correspond to the amplitude and phase change of each harmonic of the periodic steady-state response.
While PAC analysis overcame the limitation of AC analysis being applicable to only fixed DC operating points, the limitation of using only voltage or current variables in computing the linear response still remains. All circuits exhibit linear responses to small-signal excitations, but not all of the linear responses are useful or meaningful to the designers. For example, a phase-locked loop does not convey useful information directly when its linearized response to a small-signal sinusoidal change in the input clock voltage is simulated via PAC analysis. This is because the main characteristics of the PLL manifest themselves as being strongly nonlinear when the PLL is analyzed in a voltage domain.
Some circuits and systems do convey useful information in their linear responses when the responses are analyzed in other variables than voltage or current. For example, a PLL mentioned in the previous paragraph is usually designed with a desired transfer function (linear response) between the input clock phase and output clock phase. If designers can simulate the PLL transfer function in phase domain, in other words, compute the steady-state response of the PLL output clock phase to the small-signal sinusoidal change in the input clock phase, the resulting information is of great use to the designers. One can compare the simulation results with the desired transfer function (e.g., bandwidth and damping factor) and verify if the circuit is properly designed to the intended specification. Other examples are delay-locked loops (DLLs), frequency-locked loops (FLL), and duty-cycle correctors (DCCs), which have meaningful linear responses in variables other than voltage or current, such as delay, frequency, and duty-cycle of a clock, respectively.
For the types of circuits that are non-linear in voltage or current as input and output but linear in other variables, designers have been using transient analysis instead of AC analysis to perform the linear analysis in the desired variable domains. One possible method is to run a set of transient analyses that apply the small-signal sinusoidal excitation as time-domain waveform and measure the resulting amplitude and phase of the output sinusoidal-like waveform. This is not a perfect sinusoid because infinitesimally small signal cannot be described with finite resolution. Thus, the sinusoid is just “reasonably” small in amplitude. The magnitudes and phases of the input and output sinusoids give estimates on the transfer function. An alternate method is to apply a test waveform other than a sinusoid (e.g., step, ramp, or short pulse) and estimate the transfer function based on the circuit response via some linear estimation techniques. However, this process of estimating the linear response via transient analysis is an extremely slow and computationally intensive procedure as compared to that of AC or PAC analysis. Although transient analysis is slow, cumbersome, and consumes a great amount of processing power, circuit designers are faced with no other viable solution.